--  Una prueba muy similar a la 1 pero con la condicion cambiada,
--  para que se pueda comprobar que se sigue correctamente los if.
--  Recuerdese que dara una vuelta menos
package Serie_Aritmetica2 is
   i          : Integer := 5;  -- da una vuelta menos que el 1
   numero_tmp : Integer := 49;
   res        : Integer := -12;  --  1+2+3+4=10
   fin        : Boolean := False;
end Serie_Aritmetica2;


package body Serie_Aritmetica2 is

   --  Dar_Serie_Aritmetica2 es una implementacion recursiva
   procedure Dar_Serie_Aritmetica2 (elto  : in out Integer)
   is
      condicion : Boolean;
   begin
      condicion := elto > I;
      if condicion then
         Fin := True;  --  Se pone a fin para indicarnos que se termino
      else
         res :=  elto + res;
         elto := elto + 1;
         Dar_Serie_Aritmetica2 (elto);
      end if;
   end Dar_Serie_Aritmetica2;

begin
   numero_tmp := 1;
   res  := 0;
   Dar_Serie_Aritmetica2 (numero_tmp);
end Serie_Aritmetica2;

